package com.jingdianjichi.subject.infra.basic.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jingdianjichi.subject.infra.basic.entity.SubjectInfo;
import com.jingdianjichi.subject.infra.basic.entity.SubjectInfoEs;


import java.util.List;


/**
 * 题目信息表(SubjectInfo)表服务接口
 *
 * @author makejava
 * @since 2025-07-13 16:54:22
 */
public interface SubjectInfoService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    SubjectInfo queryById(Long id);


    /**
     * 新增数据
     *
     * @param subjectInfo 实例对象
     * @return 实例对象
     */
    SubjectInfo insert(SubjectInfo subjectInfo);

    /**
     * 修改数据
     *
     * @param subjectInfo 实例对象
     * @return 实例对象
     */
    SubjectInfo update(SubjectInfo subjectInfo);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);


    List<SubjectInfo> querySubjectInfosBySubjectIds(SubjectInfo subjectInfo, List<Long> subjectIds,int offset,int  limit);

   int querySubjectInfoNumBySubjectIds(SubjectInfo subjectInfo, List<Long> subjectIds);
   SubjectInfoEs querySubjectInfoEsById(Long subjectId);

     Page<SubjectInfo> queryPageByCondition(Page<SubjectInfo> page,SubjectInfo subjectInfo,Long categoryId,Long labelId);


}
